package org.dlow.tolerant;

import org.dlow.common.URL;

import java.util.List;

/**
 * 失败处理器接口
 * 定义服务调用失败时的处理策略
 * 
 * @description: 失败处理器，实现不同的容错策略（如快速失败、故障转移等）
 * @Author: 山沐与山
 * @CreateTime: 2024-05-16 23:22
 */
public interface FailureHandler {

    /**
     * 处理调用失败的情况
     * 
     * @param context 失败上下文信息，包含异常、候选服务等
     * @return 处理结果，可能是重试后的结果或默认值
     * @throws Exception 处理失败时抛出的异常
     */
    Object handleFailure(FaultContext context) throws Exception;
}
